﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

namespace TestMenu
{
	public interface IGameScreen
	{
		/// <summary>
		/// Eine Referenz auf das eine(!) Game-Objekt, das immer die verschiedenen Szenen rendert und updatet.
		/// </summary>
		TestMenu MainGame
		{
			get;
			set;
		}

		/// <summary>
		/// Wird aufgerufen, wenn der IGameScreen erstellt wird. Erhält ein GraphicsDeviceManager Objekt zum erstellen von Objekten und
		/// ein ContentManager Objekt um die benötigten Texturen zu laden.
		/// Achtung! In Unload Content wieder entladen!
		/// </summary>
		void Initialize(GraphicsDeviceManager graphics, ContentManager content);

		/// <summary>
		/// Wird aufgerufen, wenn der IGameScreen wieder gelöscht wird.
		/// </summary>
		void UnloadContent();

		void Update(GameTime gameTime);

		void Draw(SpriteBatch spriteBatch, GameTime gameTime);
	}
}